package com.ktjy.pojo;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 
 * @TableName b2c_order_line
 */
@TableName(value ="b2c_order_line")
public class B2cOrderLine implements Serializable {
    /**
     * ID
     */
    private Integer id;

    /**
     * 订单id
     */
    private Integer orderId;

    /**
     * 订单编号
     */
    private String orderCode;

    /**
     * 商品主表ID
     */
    private Integer productId;

    /**
     * 商品编码
     */
    private String productCode;

    /**
     * 商品名称
     */
    private String productName;

    /**
     * 商品提交时间
     */
    private Date productPosttime;

    /**
     * 商品所属BId
     */
    private Integer productBid;

    /**
     * 子商品ID
     */
    private Integer subProductId;

    /**
     * 商品属性
     */
    private String property;

    /**
     * 包装ID,冗余kz_product_pack的主键
     */
    private Integer packId;

    /**
     * 仓库ID(B2B订单有效)
     */
    private Integer whId;

    /**
     * 仓库名称(B2B订单有效)
     */
    private String whName;

    /**
     * 包装单位ID(B2B订单有效)
     */
    private Integer packUnitId;

    /**
     * 包装单位(B2B订单有效)
     */
    private String unitValue;

    /**
     * 包装体积(B2B订单有效)
     */
    private BigDecimal packVolume;

    /**
     * 包装重量(B2B订单有效)
     */
    private BigDecimal packWeight;

    /**
     * 包装价格
     */
    private BigDecimal packPrice;

    /**
     * 包装价格类型
     */
    private Integer packPriceType;

    /**
     * 购买的数量
     */
    private BigDecimal packQty;

    /**
     * 已发货数量
     */
    private BigDecimal deliveryQty;

    /**
     * 总额
     */
    private BigDecimal packAmout;

    /**
     * 已入库数量
     */
    private Integer instockQty;

    /**
     * 是否已完全入库(B2B订单有效)
     */
    private Integer isInstock;

    /**
     * 是否已评论
     */
    private Integer isComment;

    /**
     * 已货数量
     */
    private Integer returnCount;

    /**
     * 已退货次数
     */
    private BigDecimal returnNumber;

    /**
     * 已换货数量
     */
    private BigDecimal changeCount;

    /**
     * 已换货次数
     */
    private BigDecimal changeNumber;

    /**
     * 买家备注信息
     */
    private String remarks;

    /**
     * 推广会员id(推广商品)
     */
    private Integer referId;

    /**
     * 是否删除0:不删除，1：删除
     */
    private Integer isDel;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 用于存放活动ID，便于订单取消。
     */
    private String param1;

    /**
     * 扩展字段2
     */
    private String param2;

    /**
     * 扩展字段3
     */
    private String param3;

    /**
     * 扩展字段4
     */
    private String param4;

    /**
     * 扩展字段5
     */
    private String param5;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    public Integer getId() {
        return id;
    }

    /**
     * ID
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 订单id
     */
    public Integer getOrderId() {
        return orderId;
    }

    /**
     * 订单id
     */
    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    /**
     * 订单编号
     */
    public String getOrderCode() {
        return orderCode;
    }

    /**
     * 订单编号
     */
    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    /**
     * 商品主表ID
     */
    public Integer getProductId() {
        return productId;
    }

    /**
     * 商品主表ID
     */
    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    /**
     * 商品编码
     */
    public String getProductCode() {
        return productCode;
    }

    /**
     * 商品编码
     */
    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    /**
     * 商品名称
     */
    public String getProductName() {
        return productName;
    }

    /**
     * 商品名称
     */
    public void setProductName(String productName) {
        this.productName = productName;
    }

    /**
     * 商品提交时间
     */
    public Date getProductPosttime() {
        return productPosttime;
    }

    /**
     * 商品提交时间
     */
    public void setProductPosttime(Date productPosttime) {
        this.productPosttime = productPosttime;
    }

    /**
     * 商品所属BId
     */
    public Integer getProductBid() {
        return productBid;
    }

    /**
     * 商品所属BId
     */
    public void setProductBid(Integer productBid) {
        this.productBid = productBid;
    }

    /**
     * 子商品ID
     */
    public Integer getSubProductId() {
        return subProductId;
    }

    /**
     * 子商品ID
     */
    public void setSubProductId(Integer subProductId) {
        this.subProductId = subProductId;
    }

    /**
     * 商品属性
     */
    public String getProperty() {
        return property;
    }

    /**
     * 商品属性
     */
    public void setProperty(String property) {
        this.property = property;
    }

    /**
     * 包装ID,冗余kz_product_pack的主键
     */
    public Integer getPackId() {
        return packId;
    }

    /**
     * 包装ID,冗余kz_product_pack的主键
     */
    public void setPackId(Integer packId) {
        this.packId = packId;
    }

    /**
     * 仓库ID(B2B订单有效)
     */
    public Integer getWhId() {
        return whId;
    }

    /**
     * 仓库ID(B2B订单有效)
     */
    public void setWhId(Integer whId) {
        this.whId = whId;
    }

    /**
     * 仓库名称(B2B订单有效)
     */
    public String getWhName() {
        return whName;
    }

    /**
     * 仓库名称(B2B订单有效)
     */
    public void setWhName(String whName) {
        this.whName = whName;
    }

    /**
     * 包装单位ID(B2B订单有效)
     */
    public Integer getPackUnitId() {
        return packUnitId;
    }

    /**
     * 包装单位ID(B2B订单有效)
     */
    public void setPackUnitId(Integer packUnitId) {
        this.packUnitId = packUnitId;
    }

    /**
     * 包装单位(B2B订单有效)
     */
    public String getUnitValue() {
        return unitValue;
    }

    /**
     * 包装单位(B2B订单有效)
     */
    public void setUnitValue(String unitValue) {
        this.unitValue = unitValue;
    }

    /**
     * 包装体积(B2B订单有效)
     */
    public BigDecimal getPackVolume() {
        return packVolume;
    }

    /**
     * 包装体积(B2B订单有效)
     */
    public void setPackVolume(BigDecimal packVolume) {
        this.packVolume = packVolume;
    }

    /**
     * 包装重量(B2B订单有效)
     */
    public BigDecimal getPackWeight() {
        return packWeight;
    }

    /**
     * 包装重量(B2B订单有效)
     */
    public void setPackWeight(BigDecimal packWeight) {
        this.packWeight = packWeight;
    }

    /**
     * 包装价格
     */
    public BigDecimal getPackPrice() {
        return packPrice;
    }

    /**
     * 包装价格
     */
    public void setPackPrice(BigDecimal packPrice) {
        this.packPrice = packPrice;
    }

    /**
     * 包装价格类型
     */
    public Integer getPackPriceType() {
        return packPriceType;
    }

    /**
     * 包装价格类型
     */
    public void setPackPriceType(Integer packPriceType) {
        this.packPriceType = packPriceType;
    }

    /**
     * 购买的数量
     */
    public BigDecimal getPackQty() {
        return packQty;
    }

    /**
     * 购买的数量
     */
    public void setPackQty(BigDecimal packQty) {
        this.packQty = packQty;
    }

    /**
     * 已发货数量
     */
    public BigDecimal getDeliveryQty() {
        return deliveryQty;
    }

    /**
     * 已发货数量
     */
    public void setDeliveryQty(BigDecimal deliveryQty) {
        this.deliveryQty = deliveryQty;
    }

    /**
     * 总额
     */
    public BigDecimal getPackAmout() {
        return packAmout;
    }

    /**
     * 总额
     */
    public void setPackAmout(BigDecimal packAmout) {
        this.packAmout = packAmout;
    }

    /**
     * 已入库数量
     */
    public Integer getInstockQty() {
        return instockQty;
    }

    /**
     * 已入库数量
     */
    public void setInstockQty(Integer instockQty) {
        this.instockQty = instockQty;
    }

    /**
     * 是否已完全入库(B2B订单有效)
     */
    public Integer getIsInstock() {
        return isInstock;
    }

    /**
     * 是否已完全入库(B2B订单有效)
     */
    public void setIsInstock(Integer isInstock) {
        this.isInstock = isInstock;
    }

    /**
     * 是否已评论
     */
    public Integer getIsComment() {
        return isComment;
    }

    /**
     * 是否已评论
     */
    public void setIsComment(Integer isComment) {
        this.isComment = isComment;
    }

    /**
     * 已货数量
     */
    public Integer getReturnCount() {
        return returnCount;
    }

    /**
     * 已货数量
     */
    public void setReturnCount(Integer returnCount) {
        this.returnCount = returnCount;
    }

    /**
     * 已退货次数
     */
    public BigDecimal getReturnNumber() {
        return returnNumber;
    }

    /**
     * 已退货次数
     */
    public void setReturnNumber(BigDecimal returnNumber) {
        this.returnNumber = returnNumber;
    }

    /**
     * 已换货数量
     */
    public BigDecimal getChangeCount() {
        return changeCount;
    }

    /**
     * 已换货数量
     */
    public void setChangeCount(BigDecimal changeCount) {
        this.changeCount = changeCount;
    }

    /**
     * 已换货次数
     */
    public BigDecimal getChangeNumber() {
        return changeNumber;
    }

    /**
     * 已换货次数
     */
    public void setChangeNumber(BigDecimal changeNumber) {
        this.changeNumber = changeNumber;
    }

    /**
     * 买家备注信息
     */
    public String getRemarks() {
        return remarks;
    }

    /**
     * 买家备注信息
     */
    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    /**
     * 推广会员id(推广商品)
     */
    public Integer getReferId() {
        return referId;
    }

    /**
     * 推广会员id(推广商品)
     */
    public void setReferId(Integer referId) {
        this.referId = referId;
    }

    /**
     * 是否删除0:不删除，1：删除
     */
    public Integer getIsDel() {
        return isDel;
    }

    /**
     * 是否删除0:不删除，1：删除
     */
    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    /**
     * 创建人
     */
    public String getCreateBy() {
        return createBy;
    }

    /**
     * 创建人
     */
    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    /**
     * 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 更新人
     */
    public String getUpdateBy() {
        return updateBy;
    }

    /**
     * 更新人
     */
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    /**
     * 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 用于存放活动ID，便于订单取消。
     */
    public String getParam1() {
        return param1;
    }

    /**
     * 用于存放活动ID，便于订单取消。
     */
    public void setParam1(String param1) {
        this.param1 = param1;
    }

    /**
     * 扩展字段2
     */
    public String getParam2() {
        return param2;
    }

    /**
     * 扩展字段2
     */
    public void setParam2(String param2) {
        this.param2 = param2;
    }

    /**
     * 扩展字段3
     */
    public String getParam3() {
        return param3;
    }

    /**
     * 扩展字段3
     */
    public void setParam3(String param3) {
        this.param3 = param3;
    }

    /**
     * 扩展字段4
     */
    public String getParam4() {
        return param4;
    }

    /**
     * 扩展字段4
     */
    public void setParam4(String param4) {
        this.param4 = param4;
    }

    /**
     * 扩展字段5
     */
    public String getParam5() {
        return param5;
    }

    /**
     * 扩展字段5
     */
    public void setParam5(String param5) {
        this.param5 = param5;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        B2cOrderLine other = (B2cOrderLine) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getOrderId() == null ? other.getOrderId() == null : this.getOrderId().equals(other.getOrderId()))
            && (this.getOrderCode() == null ? other.getOrderCode() == null : this.getOrderCode().equals(other.getOrderCode()))
            && (this.getProductId() == null ? other.getProductId() == null : this.getProductId().equals(other.getProductId()))
            && (this.getProductCode() == null ? other.getProductCode() == null : this.getProductCode().equals(other.getProductCode()))
            && (this.getProductName() == null ? other.getProductName() == null : this.getProductName().equals(other.getProductName()))
            && (this.getProductPosttime() == null ? other.getProductPosttime() == null : this.getProductPosttime().equals(other.getProductPosttime()))
            && (this.getProductBid() == null ? other.getProductBid() == null : this.getProductBid().equals(other.getProductBid()))
            && (this.getSubProductId() == null ? other.getSubProductId() == null : this.getSubProductId().equals(other.getSubProductId()))
            && (this.getProperty() == null ? other.getProperty() == null : this.getProperty().equals(other.getProperty()))
            && (this.getPackId() == null ? other.getPackId() == null : this.getPackId().equals(other.getPackId()))
            && (this.getWhId() == null ? other.getWhId() == null : this.getWhId().equals(other.getWhId()))
            && (this.getWhName() == null ? other.getWhName() == null : this.getWhName().equals(other.getWhName()))
            && (this.getPackUnitId() == null ? other.getPackUnitId() == null : this.getPackUnitId().equals(other.getPackUnitId()))
            && (this.getUnitValue() == null ? other.getUnitValue() == null : this.getUnitValue().equals(other.getUnitValue()))
            && (this.getPackVolume() == null ? other.getPackVolume() == null : this.getPackVolume().equals(other.getPackVolume()))
            && (this.getPackWeight() == null ? other.getPackWeight() == null : this.getPackWeight().equals(other.getPackWeight()))
            && (this.getPackPrice() == null ? other.getPackPrice() == null : this.getPackPrice().equals(other.getPackPrice()))
            && (this.getPackPriceType() == null ? other.getPackPriceType() == null : this.getPackPriceType().equals(other.getPackPriceType()))
            && (this.getPackQty() == null ? other.getPackQty() == null : this.getPackQty().equals(other.getPackQty()))
            && (this.getDeliveryQty() == null ? other.getDeliveryQty() == null : this.getDeliveryQty().equals(other.getDeliveryQty()))
            && (this.getPackAmout() == null ? other.getPackAmout() == null : this.getPackAmout().equals(other.getPackAmout()))
            && (this.getInstockQty() == null ? other.getInstockQty() == null : this.getInstockQty().equals(other.getInstockQty()))
            && (this.getIsInstock() == null ? other.getIsInstock() == null : this.getIsInstock().equals(other.getIsInstock()))
            && (this.getIsComment() == null ? other.getIsComment() == null : this.getIsComment().equals(other.getIsComment()))
            && (this.getReturnCount() == null ? other.getReturnCount() == null : this.getReturnCount().equals(other.getReturnCount()))
            && (this.getReturnNumber() == null ? other.getReturnNumber() == null : this.getReturnNumber().equals(other.getReturnNumber()))
            && (this.getChangeCount() == null ? other.getChangeCount() == null : this.getChangeCount().equals(other.getChangeCount()))
            && (this.getChangeNumber() == null ? other.getChangeNumber() == null : this.getChangeNumber().equals(other.getChangeNumber()))
            && (this.getRemarks() == null ? other.getRemarks() == null : this.getRemarks().equals(other.getRemarks()))
            && (this.getReferId() == null ? other.getReferId() == null : this.getReferId().equals(other.getReferId()))
            && (this.getIsDel() == null ? other.getIsDel() == null : this.getIsDel().equals(other.getIsDel()))
            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getParam1() == null ? other.getParam1() == null : this.getParam1().equals(other.getParam1()))
            && (this.getParam2() == null ? other.getParam2() == null : this.getParam2().equals(other.getParam2()))
            && (this.getParam3() == null ? other.getParam3() == null : this.getParam3().equals(other.getParam3()))
            && (this.getParam4() == null ? other.getParam4() == null : this.getParam4().equals(other.getParam4()))
            && (this.getParam5() == null ? other.getParam5() == null : this.getParam5().equals(other.getParam5()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getOrderId() == null) ? 0 : getOrderId().hashCode());
        result = prime * result + ((getOrderCode() == null) ? 0 : getOrderCode().hashCode());
        result = prime * result + ((getProductId() == null) ? 0 : getProductId().hashCode());
        result = prime * result + ((getProductCode() == null) ? 0 : getProductCode().hashCode());
        result = prime * result + ((getProductName() == null) ? 0 : getProductName().hashCode());
        result = prime * result + ((getProductPosttime() == null) ? 0 : getProductPosttime().hashCode());
        result = prime * result + ((getProductBid() == null) ? 0 : getProductBid().hashCode());
        result = prime * result + ((getSubProductId() == null) ? 0 : getSubProductId().hashCode());
        result = prime * result + ((getProperty() == null) ? 0 : getProperty().hashCode());
        result = prime * result + ((getPackId() == null) ? 0 : getPackId().hashCode());
        result = prime * result + ((getWhId() == null) ? 0 : getWhId().hashCode());
        result = prime * result + ((getWhName() == null) ? 0 : getWhName().hashCode());
        result = prime * result + ((getPackUnitId() == null) ? 0 : getPackUnitId().hashCode());
        result = prime * result + ((getUnitValue() == null) ? 0 : getUnitValue().hashCode());
        result = prime * result + ((getPackVolume() == null) ? 0 : getPackVolume().hashCode());
        result = prime * result + ((getPackWeight() == null) ? 0 : getPackWeight().hashCode());
        result = prime * result + ((getPackPrice() == null) ? 0 : getPackPrice().hashCode());
        result = prime * result + ((getPackPriceType() == null) ? 0 : getPackPriceType().hashCode());
        result = prime * result + ((getPackQty() == null) ? 0 : getPackQty().hashCode());
        result = prime * result + ((getDeliveryQty() == null) ? 0 : getDeliveryQty().hashCode());
        result = prime * result + ((getPackAmout() == null) ? 0 : getPackAmout().hashCode());
        result = prime * result + ((getInstockQty() == null) ? 0 : getInstockQty().hashCode());
        result = prime * result + ((getIsInstock() == null) ? 0 : getIsInstock().hashCode());
        result = prime * result + ((getIsComment() == null) ? 0 : getIsComment().hashCode());
        result = prime * result + ((getReturnCount() == null) ? 0 : getReturnCount().hashCode());
        result = prime * result + ((getReturnNumber() == null) ? 0 : getReturnNumber().hashCode());
        result = prime * result + ((getChangeCount() == null) ? 0 : getChangeCount().hashCode());
        result = prime * result + ((getChangeNumber() == null) ? 0 : getChangeNumber().hashCode());
        result = prime * result + ((getRemarks() == null) ? 0 : getRemarks().hashCode());
        result = prime * result + ((getReferId() == null) ? 0 : getReferId().hashCode());
        result = prime * result + ((getIsDel() == null) ? 0 : getIsDel().hashCode());
        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getParam1() == null) ? 0 : getParam1().hashCode());
        result = prime * result + ((getParam2() == null) ? 0 : getParam2().hashCode());
        result = prime * result + ((getParam3() == null) ? 0 : getParam3().hashCode());
        result = prime * result + ((getParam4() == null) ? 0 : getParam4().hashCode());
        result = prime * result + ((getParam5() == null) ? 0 : getParam5().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", orderId=").append(orderId);
        sb.append(", orderCode=").append(orderCode);
        sb.append(", productId=").append(productId);
        sb.append(", productCode=").append(productCode);
        sb.append(", productName=").append(productName);
        sb.append(", productPosttime=").append(productPosttime);
        sb.append(", productBid=").append(productBid);
        sb.append(", subProductId=").append(subProductId);
        sb.append(", property=").append(property);
        sb.append(", packId=").append(packId);
        sb.append(", whId=").append(whId);
        sb.append(", whName=").append(whName);
        sb.append(", packUnitId=").append(packUnitId);
        sb.append(", unitValue=").append(unitValue);
        sb.append(", packVolume=").append(packVolume);
        sb.append(", packWeight=").append(packWeight);
        sb.append(", packPrice=").append(packPrice);
        sb.append(", packPriceType=").append(packPriceType);
        sb.append(", packQty=").append(packQty);
        sb.append(", deliveryQty=").append(deliveryQty);
        sb.append(", packAmout=").append(packAmout);
        sb.append(", instockQty=").append(instockQty);
        sb.append(", isInstock=").append(isInstock);
        sb.append(", isComment=").append(isComment);
        sb.append(", returnCount=").append(returnCount);
        sb.append(", returnNumber=").append(returnNumber);
        sb.append(", changeCount=").append(changeCount);
        sb.append(", changeNumber=").append(changeNumber);
        sb.append(", remarks=").append(remarks);
        sb.append(", referId=").append(referId);
        sb.append(", isDel=").append(isDel);
        sb.append(", createBy=").append(createBy);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", param1=").append(param1);
        sb.append(", param2=").append(param2);
        sb.append(", param3=").append(param3);
        sb.append(", param4=").append(param4);
        sb.append(", param5=").append(param5);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}